// 封装缓存
import UserRouter from '@/utils/uni-user.js'
/**
 * 当前我们使用的是uni-app Vue3版本
 * 使用的是vite编译 module.exports不能使用了
 */
import Msg from '@/utils/msg.js'

function set(key, value) {
	if (typeof(key) == "string" && key.length > 0) {
		uni.setStorageSync(key, value)
	} else if (typeof(key) == "string" && key.length <= 0) {
		Msg.error('缓存键名不为空')
	} else {
		Msg.error('键名数据类型错误')
	}
}

function get(key) {
	let val
	if (typeof(key) != "string") {
		Msg.error('键名类型错误')
	} else if (typeof(key) == "string" && key.length <= 0) {
		Msg.error('缓存键名不为空')
	} else {
		try {
			val = uni.getStorageSync(key)
		} catch (e) {
			console.log("获取缓存失败信息", e);
		}
	}
	return val
}
// 如果key是布尔值true时清空全部缓存
// 否则清除键对应缓存
function deleted(key) {
	if (typeof(key) == "boolean" && key == true) {
		uni.clearStorageSync()
		uni.showToast({
			title: "缓存全部清除"
		})
	} else if (typeof(key) == "string" && key.length <= 0) {
		uni.showToast({
			title: '键名不为空',
			icon: 'none'
		})
	} else if (typeof(key) == "string" && key.length > 0) {
		uni.removeStorage({
			key: key
		})
	} else {
		uni.showToast({
			title: '键名类型错误',
			icon: 'none'
		})
	}
}
const expired = get("uni_id_token_expired");
const loginStatus = (expired < (new Date).getTime() && expired)?true:false
const UserInfo = loginStatus?get("uni-id-pages-userInfo"):false


function isLogin() {
	let expired = get("uni_id_token_expired")
	let currentTime = (new Date).getTime();
	return expired - currentTime < 0 ? false : true
}
export default {
	set,
	get,
	deleted,
	UserInfo,
	isLogin,
	loginStatus
}
